package common

import (
	"database/sql"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/schema"
	// "fmt"
)

// 创建数据库链接
func NewMySQLConn() (db *sql.DB, err error) {
	// dsn := fmt.Sprintf("%s:@tcp(%s)/%s?charset=utf8","root","")
	db,err = sql.Open("mysql", "root:root@tcp(127.0.0.1:3306)/go_seckill_mall?charset=utf8")
	// mysql 配置
	db.SetMaxOpenConns(100)
	db.SetConnMaxIdleTime(1000)
	db.SetConnMaxLifetime(2000)
	db.SetMaxIdleConns(200)
	return 
}

// NewGormMysqlConn Gorm 模式
func NewGormMysqlConn() (db *gorm.DB, err error) {
	
// 数据源语法："用户名:密码@[连接方式](主机名:端口号)/数据库名"
	dsn := "root:root@tcp(127.0.0.1:3306)/go_seckill_mall?charset=utf8mb4&parseTime=True&loc=Local"
	db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
		NamingStrategy: schema.NamingStrategy{
			SingularTable: false,  // 单数-true
		},
	})
	return
}
